package iface.aplicativo.integracao.dao;

import iface.aplicativo.negocio.entidade.Conta;
import iface.arquitetura.integracao.HibernateDAOAbstrato;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository
public class ContaDAO extends HibernateDAOAbstrato<Conta> {

	public Conta consultarPorNomeBanco(Conta conta) {
		Criteria criteria = novoCriteria();

		criteria.add(Restrictions.eq("nmBanco", conta.getNmBanco()));

		return (Conta) criteria.uniqueResult();
	}

	public Conta consultarPorConta(Conta conta) {
		Criteria criteria = novoCriteria();

		criteria.add(Restrictions.eq("nmBanco", conta.getNmBanco()));
		criteria.add(Restrictions.eq("nrAgencia", conta.getNrAgencia()));
		criteria.add(Restrictions.eq("nrConta", conta.getNrConta()));

		return (Conta) criteria.uniqueResult();
	}

	public Conta consultarPorNumeroAgencia(Conta conta) {
		Criteria criteria = novoCriteria();

		criteria.add(Restrictions.eq("nrAgencia", conta.getNrConta()));

		return (Conta) criteria.uniqueResult();
	}

}
